1. Field of the Invention
This invention relates to a data processing technique, and more particularly, to a technique of dynamically changing processing resources depending on the contents of data to be processed.
2. Description of Related Art
A human being is usually capable of determining on what topic a conversation is going and how the utterance by a speaker is interpreted during the course of the conversation from the environmental conditions including the situation in which the speaker is placed, experiences in the past, the identity of the speaker and the flow of the conversation. For instance, suppose that a person sitting in a tea room simply tells to a waitress xe2x80x9ca coffeexe2x80x9d. The waitress would then interpret the statement in a way that the guest agrees to pay the price of a hot coffee listed on a menu placed in the seat and orders a cup of hot coffee poured in a coffee cup. The waitress further recognizes that the order is accepted for the person, and understands that she should take steps of preparing a cup of hot coffee, adding a spoon, sugar and cream to the cup of hot coffee, bringing them to the table of the person and waiting until the person pays the price.
However, in a different environmental condition such as where the same statement xe2x80x9ca coffee,xe2x80x9d is uttered to a shopman in a bookstore, the man would not be able to understand the meaning of the utterance. As exemplified above, data is suitably interpreted even if it contains small amount of information when a statement spoken can be flexibly interpreted taking the situation into consideration.
Generally, a xe2x80x9cconversation,xe2x80x9d between human beings consists of steps in which:
1. a speaker prepares a content to be spoken in order to convey the speaker""s intent to a listener;
2. the speaker then begins to speak;
3. the listener listens to the speech and understands the flow of the conversation;
4. the listener associates the speech with the background of the speech from what the listener has experienced;
5. the listener understands the content of the speech;
and
6. the listener takes an action as a result.
If a messaging system of a computer is defined as one which simulates the message processing of a natural language and is designed for recycling by patterning a conversation in this way, a message which is closer to a natural language than the prior art can be processed. As a result, an intelligent message system can be constructed which is more user friendly and allows a series of packets having a certain context to be exchanged with the flow of contexts being followed.
On the other hand, there is mobile agent technology in the art in which an internal condition is moved to a place which is provided in a server existing on a network in a distributed computer environment to form an instruction in the place where the internal condition is moved. Reference is made to U.S. Pat. No.: 5,603,031, issued Feb. 11, 1997, entitled xe2x80x9cSystem and Method For Distributed Computation Based Upon the Movement, Execution, and Interaction of Processes in a Networkxe2x80x9d, by White et al., (Japanese unexamined patent publication no.: 7-182174) and Fumihiko Nishida, Susumu Fujiwara et al""s xe2x80x9cLatest Internet Technology, special edition of Nikkei Communicationxe2x80x9d, pp 104-117, Nikkei BP.
Mobile agents operating under the mobile agent technology discussed above make a contact to other agents (a mobile agent or a resident agent) in the moved-to place and may be served as appropriate. As referred to herein, a place is a location provided by a server existing on the network to which the agent moved and which supports a contact among agents and absorbs the differences between the hardwares and between the platforms.
The mobile agent technology enables a mobile agent to act as a proxy of a human being in handling works such as dynamically adjusting a schedule of internal meetings in compliance with the schedule of attendees and status of reservation of conference rooms and acquiring desired information distributed on the network.
However, if in a single place, various types of communications among the agents is supported, a large load is placed on that place, leading to inability of appropriately responding to the content of conversation and extended processing time which is required for the response. Another load is placed to an agent or a software which issues a request when the request for the service becomes complicated due to the support of various types of communications. Further, the communication system is heavily loaded when the amount of data transmitted over the network is increased. When an interpretation execution element which interprets the content of conversation is changed, a problem was encountered in that the system had to be halted temporarily for restart in registration and importation of changed interpretation execution element because the system relied on a single interpretation execution element.
There was a prior art system which had a compatible class correlating table for the replacement with a compatible resource to maintain interconnection during the period when the network is upgraded to a new version (Japanese unexamined patent publication no.: PUPA 7-93235). However, such a prior art system which inspected the internal status of the system and replaced resources as a result of inspection was not able to analyze a received message to dynamically change the interpretation execution element which interprets the received message. In addition, such a prior art system had to prepare an alternative resource for the resource in which a change occurred so as to avoid the system from halting, resulting in additional load of the user.
In view of the disadvantages of the prior art systems described above, it can be appreciated that it would be desirable to provide a system which overcomes these disadvantages.
It is a first object and advantage of this invention to provide a communication system for processing conversations between agents that overcomes the foregoing and other problems.
It is another object and advantage of this invention to provide a communication system which is capable of making a suitable response by means of an analysis execution part in conformance to the content (background concepts or vocabularies) of a conversation among agents.
It is a further object and advantage of this invention to provide a message processing system which enables high speed processing by reducing unnecessary decision logic.
It is still another object and advantage of this invention to provide a message processing system in which resources required for execution are decreased.
It is still a further object of this invention to provide a message processing system which realizes high speed parallel conversation processing.
It is still another object of this invention to reduce the work and the time required for developing and maintaining a program as much as possible in providing a support to communication among agents.
It is still a further object of this invention to provide a message processing system which is capable of flexibly dealing with conversations among agents.
It is still another object of this invention to provide a message processing system which gives less load to a communication network.
Further objects and advantages of this invention will become more apparent from a consideration of the drawings and ensuing description.
The foregoing and other problems are overcome and the objects of the invention are realized by methods and apparatus in accordance with embodiments of this invention. Disclosed is a technique that enables a flexible and smooth information exchange and coordination among agents and between agents and existing systems by dynamically allocating suitable interpretation execution parts in conformance to an ontology which represents an agent communication language, content describing language and a background concept and vocabulary used in a content.
The agent communication system in the preferred embodiment of this invention has an interpretation execution part controlling function which scans a directory of interpretation execution parts including conversation content monitoring parts, interpreters and translators upon start to form and control an interpretation execution part table about what interpretation execution parts are in existence.
When a message of a combination of agent communication language, content describing language and an ontology which do not exist in the table is received, the interpretation execution part store directory is scanned to see if the interpretation execution part corresponding thereto has been added. If it has been added, it is added to the table to have it process the message.
According to one aspect of this invention, a message processing method is provided for execution by a message processor which has a plurality of different interpreters for processing a message received through the network. The method includes the steps of: receiving a message packet containing an ontology specifying information and a content; selecting one or more interpreters among the plurality of different interpreters in conformance to the ontology specifying information contained in the message packet; and interpreting the content contained in the message packet by means of the selected one or more interpreters.
As referred to in this invention, the term xe2x80x9contology,xe2x80x9d includes not only xe2x80x9cbackground concepts and vocabularies,xe2x80x9d which are to be described in the preferred embodiment of this invention, but also a concept including all information which squeeze decision results and reduce decision processes in determining the content of transmitted information.
According to another aspect of this invention, a message processing method is provided for execution by a message processor which has a plurality of different interpreters for processing a message received through the network. The method includes the steps of: receiving a message packet containing an ontology specifying information, a describing language specifying information and a content specifying information; selecting one or more interpreters among the plurality of different interpreters in conformance to the ontology specifying information and describing language specifying information contained in the message packet; and interpreting a content which corresponds to the content specifying information contained in the message packet by means of the selected one or more interpreters.
As referred to herein, the term xe2x80x9ccontent specifying information,xe2x80x9d includes not only a content per se, but also link information which points to a content.
According to still another aspect of this invention, a message processing method for execution by a message processor which has a plurality of different analysis execution parts. The method includes the steps of: selecting one or more analysis execution parts of the plurality of different analysis execution parts in conformance to the ontology specifying information associated with the content. Further, the method includes interpreting the content by means of the selected one or more analysis execution parts.
As referred to herein, the term xe2x80x9canalysis execution parts,xe2x80x9d is a concept that includes a conversation content monitoring part, an interpreter and a translator which are to be described in the preferred embodiment of this invention.
According to a further aspect of this invention, a message processing method is provided for execution by a message processor which has a plurality of different interpreters and an interpreter control table for controlling a plurality of ontology specifying information which correspond to respective ones of the plurality of different interpreters. The method includes the steps of: receiving a message packet containing an ontology specifying information and a content, and determining whether or not an interpreter corresponding to the ontology specifying information contained in the message packet has been registered in the interpreter control table. The method further includes the steps of: determining whether or not the interpreter corresponding to the ontology specifying information is available in the message processor, when it is determined that the ontology specifying information contained in the message packet is not registered in the interpreter control table; registering in the interpreter control table the corresponding interpreter in correspondence to the ontology specifying information contained in the message packet, when it is determined that the interpreter corresponding to the ontology specifying information contained in the message packet is available in the message processor; and interpreting the content contained in the message packet by means of the corresponding interpreter.
According to a still further aspect of this invention, a message processing method is provided for execution by a message processor which has a plurality of different interpreters and an analysis execution part control table for controlling a plurality of different analysis execution parts in association with analysis execution part specifying information. The method includes the steps of:
receiving a message packet containing an analysis execution part specifying information and a content; and determining whether or not an analysis execution part corresponding to the analysis execution part specifying information contained in the message packet has been registered in the analysis execution part control table. The method further includes the steps of: determining whether or not the analysis execution part corresponding to the analysis execution part specifying information is available in the message processor, when it is determined that the analysis execution part specifying information contained in the message packet is not registered in the analysis execution part control table; and registering in the analysis execution part control table the corresponding analysis execution part in correspondence to the analysis execution part specifying information contained in the message packet, when it is determined that the analysis execution part corresponding to the analysis execution part specifying information contained in the message packet is available in the message processor.
According to a further aspect of this invention, a message processor is provided which has a plurality of different interpreters for processing a message received through a network. The processor includes an agent communication language manager for receiving a message packet containing ontology specifying information and a content. The processor also includes an interpreter loader for selecting one or more interpreters among the plurality of different interpreters among the plurality of different interpreters in conformance to the ontology specifying information contained in the message packet.
According to a still further aspect of this invention, a message processor is provided which has a plurality of different interpreters for processing a message received through a network. The processor includes an agent communication language manager for receiving a message packet containing an ontology specifying information, a describing language specifying information and a content specifying information. The processor further includes an interpreter loader for selecting one or more interpreters among the plurality of different interpreters in conformance to the ontology specifying information and describing language specifying information contained in said message packet.
According to a still further aspect of this invention, a message processor having a plurality of different analysis execution parts is provided which selects one or more analysis execution parts among the plurality of analysis execution parts in conformance to the ontology specifying information associated with the content to interpret the content by means of the selected one or more analysis execution parts.
According to a further aspect of this invention, a message processor is provided which has a plurality of different interpreters including an interpreter loader and an interpreter control table for controlling a plurality of ontology specifying information which correspond to respective ones of the plurality of different interpreters. The processor operates to determine whether or not an interpreter corresponding to the ontology specifying information contained in the message packet has been registered in the interpreter control table, the message packet containing an ontology specifying information and a content. The processor further determines whether or not the interpreter corresponding to the ontology specifying information is available in the message processor, when it is determined that the ontology specifying information contained in the message packet is not registered in the interpreter control table. Also, the processor registers in the interpreter control table the corresponding interpreter in correspondence to the ontology specifying information contained in the message packet, when it is determined that the interpreter corresponding to the ontology specifying information contained in the message packet is available in the message processor.
According to a still further aspect of this invention, a message processing method is provided for execution by a message processor which has a plurality of different interpreters including an interpreter loader and an analysis execution part control table for controlling a plurality of analysis execution parts in association with analysis execution part specifying information. The method includes the steps of: determining whether or not an analysis execution part corresponding to the analysis execution part specifying information contained in the message packet has been registered in the analysis execution part control table, the message packet containing an analysis execution part specifying information and a content; and determining whether or not the analysis execution part corresponding to the analysis execution part specifying information is available in the message processor, when it is determined that the analysis execution part specifying information contained in the message packet is not registered in the analysis execution part control table. The method further includes the step of registering in the analysis execution part control table the corresponding analysis execution part in correspondence to the analysis execution part specifying information contained in the message packet, when it is determined that the analysis execution part corresponding to the analysis execution part specifying information contained in the message packet is available in the message processor.
According to a further aspect of this invention, a message processor is provided which has a plurality of different interpreters for processing a message received through a network. The processor includes an agent communication language manager for receiving a message packet containing ontology specifying information, a describing language specifying information, a content specifying information and a response ID; and a conversation thread control part for analyzing a response ID contained in the message packet to form a conversation thread. The processor further includes a message log for recording the message packet; and an interpreter loader for selecting one or more interpreters among the plurality of different interpreters in conformance to the ontology specifying information and describing language specifying information contained in the message packet.
According to one of the aspects of this invention, a recording media is provided which stores therein a message processing program for execution by a message processor which has a plurality of different interpreters for processing a message received through the network. The media includes: a program code which instructs the message processor to receive a message packet containing an ontology specifying information and a content; and a program code which instructs the message processor to select one or more interpreters among the plurality of different interpreters in conformance to the ontology specifying information contained in the message packet. The media further includes a program code which instructs the message processor to interpret the content contained in the message packet by means of the selected one or more interpreters.
According to a further aspect of this invention, a media is provided which stores therein a message processing program for execution by a message processor which has a plurality of different interpreters for processing a message received through the network. The media includes: a program code which instructs the message processor to receive a message packet containing an ontology specifying information, a describing language specifying information and a content specifying information; and a program code which instructs the message processor to select one or more interpreters among the plurality of different interpreters in conformance to the ontology specifying information and describing language specifying information contained in the message packet. The media further includes a program code which instructs the message processor to interpret a content which corresponds to the content specifying information contained in the message packet by means of the selected one or more interpreters.
According to a still further aspect of this invention, a media is provided which stores therein a message processing program for execution by a message processor which has a plurality of different analysis execution parts. The media includes a program code which instructs the message processor to select one or more analysis execution parts among the plurality of different analysis execution parts in conformance to the ontology specifying information associated with the content. Also, the media includes a program code which instructs the message processor to interpret the content by means of the selected one or more analysis execution parts.
According to a further aspect of this invention, a media is provided which stores therein a message processing program for execution by a message processor which has a plurality of different interpreters and an interpreter control table for controlling a plurality of ontology specifying information which correspond to respective ones of the plurality of different interpreters. The media includes: a program code which instructs the message processor to receive a message packet containing an ontology specifying information and a content; a program code which instructs the message processor to determine whether or not an interpreter corresponding to the ontology specifying information contained in the message packet has been registered in the interpreter control table; and a program code which instructs the message processor to determine whether or not the interpreter corresponding to the ontology specifying information is available in the message processor, when it is determined that the ontology specifying information contained in the message packet is not registered in the interpreter control table. The media also includes: a program code which instructs the message processor to register in the interpreter control table the corresponding interpreter in correspondence to the ontology specifying information contained in the message packet, when it is determined that the interpreter corresponding to the ontology specifying information contained in the message packet is available in the message processor; and a program code which instructs the message processor to interpret the content contained in the message packet by means of corresponding interpreter.
According to a still further aspect of this invention, a medium is provided which stores therein a message processing program for execution by a message processor which has a plurality of different interpreters and an analysis execution part control table for controlling a plurality of different analysis execution parts in association with analysis execution part specifying information. The media includes a program code which instructs the message processor to receive a message packet containing an analysis execution part specifying information and a content. The media further includes a program code which instructs the message processor to determine whether or not an analysis execution part corresponding to the analysis execution part specifying information contained in the message packet has been registered in the analysis execution part control table. Additionally, the media includes a program code which instructs the message processor to determine whether or not the analysis execution part corresponding to the analysis execution part specifying information is available in the message processor, when it is determined that the analysis execution part specifying information contained in the message packet is not registered in the analysis execution part control table. Further, the media includes a program code which instructs the message processor to register in the analysis execution part control table the corresponding analysis execution part in correspondence to the analysis execution part specifying information contained in the message packet, when it is determined that the analysis execution part corresponding to the analysis execution part specifying information contained in the message packet is available in the message processor.